#ifndef VERSION2DEVICE_H
#define VERSION2DEVICE_H

#include "Device/BaseDevice.h"
#include "Protocol/Version2Protocol.h"
#include "System/System.h"
#include "DataType/CurrentPointStore.h"
#include "Encrypt/Encrypt.h"
#include <QTimer>
#include <QDateTime>
#include <QElapsedTimer>

#include "File/Xml/SavePointXml.h"

#include "Command/Version2Protocol/SynchroSystemCmd.h"
#include "Command/Version2Protocol/NotifyRebootCmd.h"

class Version2Device : public BaseInterface<Version2Device>
{
    Q_OBJECT
public:
    Q_INVOKABLE explicit Version2Device(QObject *parent = 0);

private:

    Version2Protocol *version2Protocol;
    PortStruct m_target;
    QTimer *notifyRebootTimer;

         quint32 m_rebootTimerCount;
         quint8 m_isFirstNotify;
    void SynchroSystemCmdHandle(PortStruct source,QSharedPointer<BaseCmd> sharedCmd);

public slots:

    void NotifyRebootSlot();
};




#endif // VERSION2DEVICE_H
